#ifndef TREE

#include "tree.h"

#endif

void translateID(Node* node);
void translateINT(Node* node);
// void translateProgram(Node* node);
// void translateProgram(Node* node);

void translateProgram(Node* node);
void translateExtdefList(Node* node);
void translateExtdef(Node* node);
void translateExtDecList(Node* node);
void translateSpecifier(Node* node);
void translateStructSpecifier(Node* node);
void translateOptTag(Node* node);
void translateTag(Node* node);
void translateVarDec(Node* node);
void translateFunDec(Node* node);
void translateVarList(Node* node);
void translateParamDec(Node* node);
void translateCompSt(Node* node);
void translateStmtList(Node* node);
void translateStmt(Node* node);
void translateDefList(Node* node);
void translateDef(Node* node);
void translateDecList(Node* node);
void translateDec(Node* node);
void translateExp(Node* node, int place);
void translateArgs(Node* node, int place, int flag);

void translateCondition(Node* node, int labelTrue, int labelFalse);

int getTemp();
void showCodes(char* out);